The invention relates generally to the field of Web application development. More specifically, to the development of interactive live components for inclusion on web pages.
Displaying and storing mathematics electronically has been of interest to the academic and publishing industries for years. Solutions to this problem including: TeX; LaTeX; and MS Equation; allow a user to specify, through a series of commands, how to display a mathematical equation.
Calculating mathematics electronically has also been of interest to the engineering, financial and consumer markets for many years. Solutions to this problem have included handheld calculators, custom programs, and generalized calculation programs.
Handheld calculators such as those manufactured by Hewlett Packard Inc. of Palo Alto, Calif. and Texas Instruments of Dallas, Tex. allow a user to punch a series of key commands to perform a calculation. Some calculators are programmable, wherein the calculation sequences may be automated. Unfortunately, these programs will only run the specific calculator or simulators and are constrained by the small display often associated with a handheld calculator.
Custom programs, written by programmers, allow very application specific calculations and displays to be performed by a user. These programs require the combined skill of a programmer and one skilled in the calculation or algorithm being programmed.
Generalized calculation programs often include programs that make it easy for a person to customize a specific class of calculations such as financial and math calculations. An example of a program like this includes Excel by Microsoft Inc. of Redmond, Wash.
Another type of generalized calculation program is designed to perform math calculations using symbolic computational systems. This type of program allows a user to describe a mathematics equation symbolically and may generate symbolic and/or numeric results. Some examples of programs like these include: MathCAD by Mathsoft, Inc. of Cambridge, Mass.; MatLAB by The Mathworks, Inc. of Natick, Mass.; Maple by Waterloo Maple Inc. of Waterloo, Ontario, Canada; and Mathmatica by Wolfram Research, Inc. of Champlaign, Ill. None of these programs can generate live calculations that can operate on a generic browser or operate on non-numeric data types with string based or web enhanced live calculations.
With the advent of the World Wide Web, several viewers have been developed that allow non-live mathematics to be displayed. Methods for achieving live calculations have included custom programming on either the server side of the web connection or as an applet or script file on the client side. These solutions require that the web developer be a skilled programmer, putting this kind of function out of reach for many developers.
An area that has not been solved, is how to easily produce live components that can not only perform calculations, but can also link web pages and embedded systems. Such a generalized program should allow nonprogrammers to design interactive systems containing live components that may include generic computers running web browsers, embedded systems comprising dedicated hardware, network hardware, and server hardware.
What is needed is a system that can generate live components for use on target systems, wherein the target systems may include browsers and embedded systems. Preferably, this system will be capable of operating on a multitude of data types (numeric and non-numeric), be useable by non-programmer developers, and produce code that is efficient, small, and fast.